<!--#include virtual="includes/_header.htm" -->

<body class="page-cve-list ">
    <!--#include virtual="includes/_top.htm" -->
    <div class="content">
        <!--#include virtual="includes/_nav.htm" -->
        <div class="right">

            <h1>Apache Kafka Security Vulnerabilities</h1>

            This page lists all security vulnerabilities fixed in released versions of Apache Kafka.

            <h2 id="CVE-2022-34917"><a href="https://nvd.nist.gov/vuln/detail/CVE-2022-34917">CVE-2022-34917</a> Unauthenticated clients may cause OutOfMemoryError on brokers </h2>

            <p>This CVE identified a flaw where it allows the malicious unauthenticated clients to allocate large amounts of memory on brokers. This can lead to brokers hitting OutOfMemoryException and
                causing denial of service.</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>2.8.0 - 2.8.1, 3.0.0 - 3.0.1, 3.1.0 - 3.1.1, 3.2.0 - 3.2.1</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>2.8.2, 3.0.2, 3.1.2, 3.2.3</td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>Example scenarios in which attacker can cause OutOfMemoryError on brokers<br>
                            - Kafka cluster without authentication: Any clients able to establish
                            a network connection to a broker can trigger the issue.<br>
                            - Kafka cluster with SASL authentication: Any clients able to
                            establish a network connection to a broker, without the need for valid
                            SASL credentials, can trigger the issue.<br>
                            - Kafka cluster with TLS authentication: Only clients able to
                            successfully authenticate via TLS can trigger the issue.<br>
                        </td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>19 Sep 2022</td>
                    </tr>
                </tbody>
            </table>

            <h2 id="CVE-2022-23302"><a href="https://nvd.nist.gov/vuln/detail/CVE-2022-23302">CVE-2022-23302</a> Deserialization of Untrusted Data Flaw in JMSSink of Apache Log4j logging library in versions 1.x</h2>

            <p>This CVE identified a flaw where it allows the attacker to provide a TopicConnectionFactoryBindingName configuration that will cause JMSSink to perform JNDI requests that result in remote code execution in a similar fashion to CVE-2021-4104.</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>All AK versions</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>In the absence of a new log4j 1.x release, one can remove JMSSink class from the log4j-1.2.17.jar artifact.</td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>When the attacker has write access to the Log4j configuration or if the configuration references an LDAP service the attacker has access to. The attacker can provide a configuration causing JMSSink to perform JNDI requests that result in remote code execution.</td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>18 Jan 2022</td>
                    </tr>
                </tbody>
            </table>

            <h2 id="CVE-2022-23305"><a href="https://nvd.nist.gov/vuln/detail/CVE-2022-23305">CVE-2022-23305</a> SQL injection Flaw in Apache Log4j logging library in versions 1.x</h2>

            <p>This CVE identified a flaw where it allows a remote attacker to run SQL statements in the database if the deployed application is configured to use JDBCAppender with certain interpolation tokens.</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>All AK versions</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>In the absence of a new log4j 1.x release, one can remove JDBCAppender class from the log4j-1.2.17.jar artifact.</td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>This issue could result in a SQL injection attack when the application is configured to use JDBCAppender.</td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>18 Jan 2022</td>
                    </tr>
                </tbody>
            </table>

            <h2 id="CVE-2022-23307"><a href="https://nvd.nist.gov/vuln/detail/CVE-2022-23307">CVE-2022-23307</a> Deserialization of Untrusted Data Flaw in Apache Log4j logging library in versions 1.x</h2>

            <p>This CVE identified a flaw where it allows an attacker to send a malicious request with serialized data to the component running <code>log4j 1.x</code> to be deserialized when the chainsaw component is run. Chainsaw is a standalone GUI for viewing log entries in log4j. An attacker not only needs to be able to generate malicious log entries, but also, have the necessary access and permissions to start chainsaw (or if it is already enabled by a customer / consumer of Apache Kafka).</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>All AK versions</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>In the absence of a new log4j 1.x release, one can remove Chainsaw from the log4j-1.2.17.jar artifact.</td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>When an attacker has the ability to start Chainsaw and is able to generate malicious log entries it allows deserialization of untrusted data.</td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>18 Jan 2022</td>
                    </tr>
                </tbody>
            </table>

            <h2 id="CVE-2021-45046"><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45046">CVE-2021-45046</a>
                Flaw in Apache Log4j logging library in versions from 2.0-beta9 through 2.12.1 and from 2.13.0 through 2.15.0</h2>

            <p>Some components in Apache Kafka use <code>Log4j-v1.2.17</code> there is no dependence on <code>Log4j v2.*</code>. Check with the vendor of any connector plugin that includes a Log4J 2.x JAR file.</p>

            <p>Users should NOT be impacted by this vulnerability</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>NA</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>NA</td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>NA</td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>14 Dec 2021</td>
                    </tr>
                </tbody>
            </table>

            <h2 id="CVE-2021-44228"><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228">CVE-2021-44228</a>
                Flaw in Apache Log4j logging library in versions from 2.0.0 and before 2.15.0</h2>

            <p>Some components in Apache Kafka use <code>Log4j-v1.2.17</code> there is no dependence on <code>Log4j v2.*</code>. Check with the vendor of any connector plugin that includes a Log4J 2.x JAR file.</p>

            <p><a href="https://logging.apache.org/log4j/2.x/manual/lookups.html">Lookups feature</a> was introduced in Log4j v2.x in order to allow specifying Log4j configuration parameters in arbitrary locations (even outside of the configuration files). Log4j v1.x does not offer the same functionality and thus is not vulnerable to <a href="https://access.redhat.com/security/cve/cve-2021-44228">CVE-2021-44228</a>.</p>
            <p>Users should NOT be impacted by this vulnerability</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>NA</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>NA</td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>NA</td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>09 Dec 2021</td>
                    </tr>
                </tbody>
            </table>

            <h2 id="CVE-2021-4104"><a href="https://access.redhat.com/security/cve/CVE-2021-4104">CVE-2021-4104</a>
                Flaw in Apache Log4j logging library in versions 1.x</h2>

            <p>The following components in Apache Kafka use <code>Log4j-v1.2.17</code>: broker, controller, zookeeper, connect, mirrormaker and tools. Clients may also be configured to use <code>Log4j-v1.x</code>.</p>

            <p>Version 1.x of Log4J can be configured to use JMS Appender, which publishes log events to a JMS Topic. Log4j 1.x is vulnerable if the deployed application is configured to use JMSAppender.</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>All versions</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>
                            In the absence of a new log4j 1.x release, one can remove JMSAppender
                            from the log4j-1.2.17.jar artifact. Commands are listed in the
                            page <a href="http://slf4j.org/log4shell.html">http://slf4j.org/log4shell.html</a>.
                            <br />
                            <br />
                            We also recommend that configuration files be protected against write access as stated in <a href="http://slf4j.org/log4shell.html">http://slf4j.org/log4shell.html</a>.
                        </td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>This issue could result in a remote code execution attack when the application is configured to use JMSAppender AND the attacker has access to directly modify the TopicBindingName or TopicConnectionFactoryBindingName configuration variables in property files which is typically an unlikely exploitation scenario.</td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>09 Dec 2021</td>
                    </tr>
                </tbody>
            </table>

            <h2 id="CVE-2021-38153"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-38153">CVE-2021-38153</a>
                Timing Attack Vulnerability for Apache Kafka Connect and Clients</h2>

            <p>Some components in Apache Kafka use <code>Arrays.equals</code> to validate a password or key,
                which is vulnerable to timing attacks that make brute force attacks for such credentials
                more likely to be successful. Users should upgrade to 2.8.1 or higher, or 3.0.0 or higher
                where this vulnerability has been fixed.</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>2.0.0, 2.0.1, 2.1.0, 2.1.1, 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1, 2.4.0, 2.4.1, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0.</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>2.6.3, 2.7.2, 2.8.1, 3.0.0 and later</td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>This issue could result in privilege escalation.</td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>21 Sep 2021</td>
                    </tr>
                </tbody>
            </table>

            <h2 id="CVE-2019-12399"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12399">CVE-2019-12399</a>
                Apache Kafka Connect REST API may expose plaintext secrets in tasks endpoint</h2>

            <p>When Connect workers in Apache Kafka 2.0.0, 2.0.1, 2.1.0, 2.1.1, 2.2.0, 2.2.1, or 2.3.0 are
                configured with one or more config providers, and a connector is created/updated on
                that Connect cluster to use an externalized secret variable in a substring of a
                connector configuration property value (the externalized secret variable is not the
                whole configuration property value), then any client can issue a request to
                the same Connect cluster to obtain the connector's task configurations and
                the response will contain the plaintext secret rather than the externalized secrets variable.
                Users should upgrade to 2.2.2 or higher, or 2.3.1 or higher
                where this vulnerability has been fixed.</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>2.0.0, 2.0.1, 2.1.0, 2.1.1, 2.2.0, 2.2.1, 2.3.0</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>2.2.2, 2.3.1 and later</td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>This issue could result in exposing externalized connector secrets.</td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>13 Jan 2020</td>
                    </tr>
                </tbody>
            </table>

            <h2 id="CVE-2018-17196"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17196">CVE-2018-17196</a>
                Authenticated clients with Write permission may bypass transaction/idempotent ACL validation</h2>
            <p>In Apache Kafka versions between 0.11.0.0 and 2.1.0, it is possible to manually
                craft a Produce request which bypasses transaction/idempotent ACL validation.
                Only authenticated clients with Write permission on the respective topics are
                able to exploit this vulnerability. Users should upgrade to 2.1.1 or later
                where this vulnerability has been fixed.</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>0.11.0.0 to 2.1.0</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>2.1.1 and later</td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>This issue could result in privilege escalation.</td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>10 July 2019</td>
                    </tr>
                </tbody>
            </table>

            <h2 id="CVE-2018-1288"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1288">CVE-2018-1288</a>
                Authenticated Kafka clients may interfere with data replication</h2>

            <p>Authenticated Kafka users may perform action reserved for the Broker via a manually created fetch request
                interfering with data replication, resulting in data loss.</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>0.9.0.0 to 0.9.0.1, 0.10.0.0 to 0.10.2.1, 0.11.0.0 to 0.11.0.2, 1.0.0</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>0.10.2.2, 0.11.0.3, 1.0.1, 1.1.0</td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>This issue could potentially lead to data loss.</td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>26 July 2018</td>
                    </tr>
                </tbody>
            </table>


            <h2 id="CVE-2017-12610"><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12610">CVE-2017-12610</a>
                Authenticated Kafka clients may impersonate other users</h2>

            <p>Authenticated Kafka clients may use impersonation via a manually crafted protocol message with SASL/PLAIN or SASL/SCRAM
                authentication when using the built-in PLAIN or SCRAM server implementations in Apache Kafka.</p>

            <table class="data-table">
                <tbody>
                    <tr>
                        <td>Versions affected</td>
                        <td>0.10.0.0 to 0.10.2.1, 0.11.0.0 to 0.11.0.1</td>
                    </tr>
                    <tr>
                        <td>Fixed versions</td>
                        <td>0.10.2.2, 0.11.0.2, 1.0.0</td>
                    </tr>
                    <tr>
                        <td>Impact</td>
                        <td>This issue could result in privilege escalation.</td>
                    </tr>
                    <tr>
                        <td>Issue announced</td>
                        <td>26 July 2018</td>
                    </tr>
                </tbody>
            </table>


            <!--#include virtual="includes/_footer.htm" -->
